From c458c404da168ee07296b6111bf4500cbf14834a Mon Sep 17 00:00:00 2001 From: Andre Przywara Date: Fri, 1 Oct 2010 15:42:46 +0100 Subject: [PATCH] xl: use libxl_domain_info to get the uuid in printf_info If there is no UUID specified in the config file, we generate one during the _parsing_ process. Since xl list -l parses the config file again, the UUID will be generated again in this case and the reported version does probably not match the used one. Fix this by retrieving the UUID from dominfo (like xl list -v does). Signed-off-by: Andre Przywara Signed-off-by: Stefano Stabellini committer: Stefano Stabellini --- tools/libxl/xl_cmdimpl.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 8dbf860f79..9aa4b78b2d 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -469,6 +469,7 @@ static void printf_info(int domid, libxl_device_model_info *dm_info) { int i; + libxl_dominfo info; libxl_domain_create_info *c_info = &d_config->c_info; libxl_domain_build_info *b_info = &d_config->b_info; @@ -480,7 +481,16 @@ static void printf_info(int domid, printf("\t(oos %d)\n", c_info->oos); printf("\t(ssidref %d)\n", c_info->ssidref); printf("\t(name %s)\n", c_info->name); - printf("\t(uuid " LIBXL_UUID_FMT ")\n", LIBXL_UUID_BYTES(c_info->uuid)); + + /* retrieve the UUID from dominfo, since it is probably generated + * during parsing and thus does not match the real one + */ + if (libxl_domain_info(&ctx, &info, domid) == 0) { + printf("\t(uuid " LIBXL_UUID_FMT ")\n", LIBXL_UUID_BYTES(info.uuid)); + } else { + printf("\t(uuid )\n"); + } + printf("\t(cpupool %s (%d))\n", c_info->poolname, c_info->poolid); if (c_info->xsdata) printf("\t(xsdata contains data)\n"); -- 2.30.2